Skip to content

feat(video3d): ampliar plantillas y añadir velocidad y gizmo de edición - #249

Merged
IAnMove merged 3 commits into
developmentfrom
feat/video3d-template-refresh
Sep 7, 2026
Merged

feat(video3d): ampliar plantillas y añadir velocidad y gizmo de edición#249
IAnMove merged 3 commits into
developmentfrom
feat/video3d-template-refresh

Conversation

@IAnMove

@IAnMove IAnMove commented Sep 7, 2026

Copy link
Copy Markdown
Owner

El botón de reproducir de Vídeo 3D quedaba perdido entre las cámaras y los objetos sólo tenían campos diminutos y un arrastre sin ejes. Ahora el editor dispone de una barra visible, velocidad común a preview y MP4, y gizmo para mover y escalar objetos.

  • 36 plantillas 3D (21 revisadas + 15 nuevas), organizadas por cine, producto, videoclip, espacio y conducción, con búsqueda y descripción ES/EN.
  • Reproducir/pausar de 48 px, reinicio, cursor temporal, velocidad 0,25–4× y modo pantalla completa. A 4×, el plano de 6 s exporta 1,5 s.
  • Gizmo X/Y/Z, giro Y y escala uniforme; campos precisos, botones de tamaño y restablecimiento. El gizmo se excluye de la exportación.
  • Cambiar de plantilla conserva por defecto fuentes, identidad y clips compatibles, incluida su lista de animaciones.
  • Acabado editable de profundidad en las 48 plantillas por capas, búsqueda y mayor legibilidad en la galería; botones de reproducción mayores también en el compositor y showcase. Prompts y referencias guardadas permanecen intactos.

Base de integración local: df87153c (incluye #240). HEAD: cda61b4622a341f134b0a31c22be6519ef714b9a. Worktree aislado; sin cambios en launchers, servicios activos ni medios versionados.

Validación local:

  • Suite UI completa: 1113/1113 antes de la actualización de base; 46 comprobaciones dirigidas pasan en el HEAD final después de la actualización.
  • E2E sobre HEAD actual: 10/10, incluyendo galería/guardado/reapertura, arrastre real de X y escala, móvil y exportación/decodificación H.264 real (1280×720, 1,5 s, 4×).
  • Python: 11/11 (test_scene_recording.py, test_architecture_contracts.py).
  • ESLint, tipos/build, catálogos ES/EN, presupuesto del bundle, clean-repo, enlaces y diff-check pasan.
  • Ratchet del HEAD contra df87153c pasa. Sin cambiar baselines.

Límites: WebGL probado con geometría de muestra y API simulada en puerto aislado; no valida artísticamente todos los planos con GLB del usuario ni ejecuta proveedores. Las plantillas configuran cámaras/luces/slots; los clips esqueléticos se asignan desde los GLB existentes. Giro limitado a Y conforme al documento. CI y revisión técnica independiente del HEAD quedan pendientes; PR draft, sin merge ni publicación.

Detalle del contrato: docs/development/VIDEO3D_EDITOR_REFRESH.md.


Note

Medium Risk
Changes MP4 export timing, recording metadata, and WebGL transform interaction alongside a large template catalog expansion; behavior is heavily tested but regressions would affect published videos and editor state.

Overview
Refreshes the Video 3D editor with a clearer transport bar (large Play/Pause, seek, restart, 0.25×–4× speed shared by preview and MP4 export), a collapsible searchable shot library (36 templates with per-shot camera/light profiles and ES/EN copy), fullscreen focus mode, and Three.js gizmo editing (move X/Y/Z, yaw, uniform scale) wired to numeric controls and disabled during play/export.

Adds optional playbackSpeed on Scene3DDocument: timeline length stays duration, but output length and encoder timing use duration / playbackSpeed; publish metadata now carries the full document and effective video duration. Template switches can keep compatible GLB sources, refs, and clip choices via remountScene3DTemplate and retained clip catalogs.

For the 48 layer-based candidate templates, new compiles apply an editable depth finish (finishVersion: 1) without changing prompts or stored references; template galleries gain search and larger play affordances, with a matching preview button bump in the scene animator.

Coverage includes directed unit tests, new Playwright flows (gizmo drag, mobile layout, H.264 export at 4×), and docs/development/VIDEO3D_EDITOR_REFRESH.md.

Reviewed by Cursor Bugbot for commit cda61b4. Configure here.

@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown

PR Review — Loreframe Studio

Risk: low
Scope: 29 file(s); +1304/-152; React UI, docs

Automated review from scripts/analyze_pr.py. This is a heuristic pass (no LLM) so humans still own the merge decision.

Findings

  • low — UI changed — rebuild before merge
    Run cd ui && npm run build (CI already does this). Pinokio Update rebuilds for end users; keep ui/dist untracked.

Changed files

  • added: docs/development/VIDEO3D_EDITOR_REFRESH.md, ui/e2e/specs/scene3d-editor-controls.spec.ts, ui/src/features/scene3d/Scene3DTemplateBrowser.tsx, ui/src/features/scene3d/Scene3DTransformPanel.tsx, ui/src/features/scene3d/Scene3DTransport.tsx, ui/src/features/scene3d/transformGizmo.ts, ui/src/features/sceneTemplates/templateFinish.ts, ui/src/i18n/locales/en/scene3dEditor.json, ui/src/i18n/locales/es/scene3dEditor.json, ui/tests/scene3dEditorRefresh.test.mjs
  • modified: ui/scripts/check-i18n-catalogs.mjs, ui/src/components/Sidebar/SceneAnimatorPanel.tsx, ui/src/features/scene3d/Scene3DEditorPanel.tsx, ui/src/features/scene3d/Scene3DStage.tsx, ui/src/features/scene3d/Scene3DWorkspace.tsx, ui/src/features/scene3d/clips.ts, ui/src/features/scene3d/clock.ts, ui/src/features/scene3d/document.ts, ui/src/features/scene3d/exportFlow.ts, ui/src/features/scene3d/exportMp4.ts, ui/src/features/scene3d/gpu.ts, ui/src/features/scene3d/publish.ts, ui/src/features/scene3d/templates.ts, ui/src/features/scene3d/types.ts, ui/src/features/sceneTemplates/SceneShowcaseGallery.tsx, ui/src/features/sceneTemplates/SceneTemplateGallery.tsx, ui/src/features/sceneTemplates/compile.ts, ui/src/i18n/resources.ts, ui/tests/i18nFoundation.test.tsx

CONTRIBUTING checklist

  • python scripts/verify_clean_repo.py
  • python -m compileall -q app/services app/launch.py scripts
  • cd ui && npm run build if the UI changed
  • No weights, CivitAI sidecars, or generated guides
  • Stays local-first (no required accounts / telemetry)

Posted by the repo PR review workflow. Re-runs on each push to the PR.

@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown

Code health

Quality score: 54.8/100

Higher is better. The score is a trend dashboard; the independent ratchet below remains the CI gate.

Component Weight Current Change
Cyclomatic health 45% 54.4 +0.0
File concentration 25% 61.5 +0.2
Oversized-file debt 20% 37.1 +0.1
Modularity 10% 75.6 +0.4

Change vs PR base: +0.1 points.

Metric Value
Production LOC 264,522
Production files 706
Test LOC 93,096
Functions measured 17,067
Functions complexity ≥ 15 833
Maximum complexity 672
Policy code-health-policy-v1
HEAD 82eb6fb21bd97fc2d9a9c3b6d561d224f4f20955
Base ba09b58a19dcdd0d3fcf24485985cf9679cfc783
UI measurement complete

Markdown, JSON catalogs and tests are out of this table. Only app/ runtime + ui/src TS/JS count.

Most complex functions

Complexity Where
672 app/wgp.py:7219 generate_video
381 ui/src/stores/useStore.ts:4053 Async method 'startGeneration'
355 app/_launch_runtime.py:23563 _run_generation
308 app/wgp.py:12359 generate_video_tab
268 ui/src/stores/useStore.ts:8600 Async method 'loadSettingsFromOutput'
258 app/services/director/planners/short_film.py:3433 ShortFilmPlanner._plan_story_driven
258 ui/src/components/Sidebar/SceneAnimatorPanel.tsx:493 Function 'SceneAnimatorPanel'
248 app/services/director_pipeline.py:13607 _run_video_generation
245 app/services/director_pipeline.py:7712 _run_pipeline
244 ui/src/features/agent/agentActions.ts:1145 Function 'parseAction'
226 app/services/director_pipeline.py:6541 update_comic_preview
225 ui/src/features/agent/agentActions.ts:2892 Async function 'executeAgentActions'

Trend vs baseline

Metric Δ
Production LOC +474
Test LOC +250
Functions ≥ 15 +1
Maximum complexity +0

Warnings

  • production LOC increased by +474
  • functions at complexity >= 15 increased by +1

Ratchet passed.

@IAnMove
IAnMove marked this pull request as ready for review September 7, 2026 23:05
@IAnMove
IAnMove merged commit 92c9550 into development Sep 7, 2026
10 checks passed
@cursor

cursor Bot commented Sep 7, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: serverGenReqId_0ca90f4d-8110-4994-aca7-21ad643ffdee)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant